﻿//-----------------------------------------------------------------------
// <copyright file="ICollaboratePublicService.cs" company="Simnova LLC">
//     Copyright (c) Simnova LLC. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace Simnova.Collaborate.ServiceContract.ServiceContracts
{
    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.Text;
    using System.ServiceModel;
    using Simnova.Collaborate.ServiceContract.DataClasses;
    using System.ServiceModel.Web;

    /// <summary>
    /// The ICollaboratePublicService
    /// </summary>
    [ServiceContract(Namespace = "http://Simnova.Collaborate")]
    public interface ICollaboratePublicService
    {
        /// <summary>
        /// Gets tasks for a particular user
        /// </summary>
        /// <param name="userId">The User ID</param>
        /// <returns>A List of Tasks</returns>
        [OperationContract]
        [WebGet(UriTemplate = "/myTasks/{userId}", ResponseFormat = WebMessageFormat.Xml)]
        Task[] GetMyTasks(string userId);

        /// <summary>
        /// Gets a particular user's details given a user id.
        /// </summary>
        /// <param name="userId">The User's Identifier</param>
        /// <returns>User Object</returns>
        [OperationContract]
        [WebGet(UriTemplate = "/users/{userId}", ResponseFormat = WebMessageFormat.Xml)]
        User GetUser(string userId);
    }
}
